package com.ct.entity.po;

import java.io.Serializable;

/**
 * 审批状态表
 */
public class Approval implements Serializable {

    /**
     * 状态编号
     */
    private Integer approvalId;

    /**
     * 审批出差申请状态，0：未处理，1：批准，2：拒绝
     */
    private Integer travelApproval;

    /**
     * 预支款申请状态，0：未处理，1：批准，2：拒绝，3：无预支款申请
     */
    private Integer advanceApproval;

    /**
     * 经理审批报销申请状态，0：未处理，1：批准，2：拒绝
     */
    private Integer reimbursementApprovalMa;

    /**
     * 财务人员审批报销申请状态，0：未处理，1：批准，2：拒绝
     */
    private Integer reimbursementApprovalFi;

    /**
     * 拒绝出差申请原因
     */
    private String travelRejection;

    /**
     * 拒绝预支款申请原因
     */
    private String advanceRejection;

    /**
     * 经理拒绝报销申请原因
     */
    private String reimbursementRejectionMa;

    /**
     * 财务人员拒绝报销申请原因
     */
    private String reimbursementRejectionFi;

    /**
     * 出差编号
     */
    private Integer travelId;

    /**
     * 员工编号
     */
    private String userId;

    public Approval() {
    }

    public Approval(Integer approvalId, Integer travelApproval, Integer advanceApproval,
            Integer reimbursementApprovalMa, Integer reimbursementApprovalFi, String travelRejection,
            String advanceRejection, String reimbursementRejectionMa, String reimbursementRejectionFi, Integer travelId,
            String userId) {
        this.approvalId = approvalId;
        this.travelApproval = travelApproval;
        this.advanceApproval = advanceApproval;
        this.reimbursementApprovalMa = reimbursementApprovalMa;
        this.reimbursementApprovalFi = reimbursementApprovalFi;
        this.travelRejection = travelRejection;
        this.advanceRejection = advanceRejection;
        this.reimbursementRejectionMa = reimbursementRejectionMa;
        this.reimbursementRejectionFi = reimbursementRejectionFi;
        this.travelId = travelId;
        this.userId = userId;
    }

    public void setApprovalId(Integer approvalId) {
        this.approvalId = approvalId;
    }

    public Integer getApprovalId() {
        return this.approvalId;
    }

    public void setTravelApproval(Integer travelApproval) {
        this.travelApproval = travelApproval;
    }

    public Integer getTravelApproval() {
        return this.travelApproval;
    }

    public void setAdvanceApproval(Integer advanceApproval) {
        this.advanceApproval = advanceApproval;
    }

    public Integer getAdvanceApproval() {
        return this.advanceApproval;
    }

    public void setReimbursementApprovalMa(Integer reimbursementApprovalMa) {
        this.reimbursementApprovalMa = reimbursementApprovalMa;
    }

    public Integer getReimbursementApprovalMa() {
        return this.reimbursementApprovalMa;
    }

    public void setReimbursementApprovalFi(Integer reimbursementApprovalFi) {
        this.reimbursementApprovalFi = reimbursementApprovalFi;
    }

    public Integer getReimbursementApprovalFi() {
        return this.reimbursementApprovalFi;
    }

    public void setTravelRejection(String travelRejection) {
        this.travelRejection = travelRejection;
    }

    public String getTravelRejection() {
        return this.travelRejection;
    }

    public void setAdvanceRejection(String advanceRejection) {
        this.advanceRejection = advanceRejection;
    }

    public String getAdvanceRejection() {
        return this.advanceRejection;
    }

    public void setReimbursementRejectionMa(String reimbursementRejectionMa) {
        this.reimbursementRejectionMa = reimbursementRejectionMa;
    }

    public String getReimbursementRejectionMa() {
        return this.reimbursementRejectionMa;
    }

    public void setReimbursementRejectionFi(String reimbursementRejectionFi) {
        this.reimbursementRejectionFi = reimbursementRejectionFi;
    }

    public String getReimbursementRejectionFi() {
        return this.reimbursementRejectionFi;
    }

    public void setTravelId(Integer travelId) {
        this.travelId = travelId;
    }

    public Integer getTravelId() {
        return this.travelId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getUserId() {
        return this.userId;
    }

    @Override
    public String toString() {
        return "状态编号:" + (approvalId == null ? "空" : approvalId) + "，审批出差申请状态，0：未处理，1：批准，2：拒绝:"
                + (travelApproval == null ? "空" : travelApproval) + "，预支款申请状态，0：未处理，1：批准，2：拒绝，3：无预支款申请:"
                + (advanceApproval == null ? "空" : advanceApproval) + "，经理审批报销申请状态，0：未处理，1：批准，2：拒绝:"
                + (reimbursementApprovalMa == null ? "空" : reimbursementApprovalMa) + "，财务人员审批报销申请状态，0：未处理，1：批准，2：拒绝:"
                + (reimbursementApprovalFi == null ? "空" : reimbursementApprovalFi) + "，拒绝出差申请原因:"
                + (travelRejection == null ? "空" : travelRejection) + "，拒绝预支款申请原因:"
                + (advanceRejection == null ? "空" : advanceRejection) + "，经理拒绝报销申请原因:"
                + (reimbursementRejectionMa == null ? "空" : reimbursementRejectionMa) + "，财务人员拒绝报销申请原因:"
                + (reimbursementRejectionFi == null ? "空" : reimbursementRejectionFi) + "，出差编号:"
                + (travelId == null ? "空" : travelId) + "，员工编号:" + (userId == null ? "空" : userId);
    }

    public static ApprovalBuilder builder() {
        return new ApprovalBuilder();
    }

    public static class ApprovalBuilder {
        private Integer approvalId;
        private Integer travelApproval;
        private Integer advanceApproval;
        private Integer reimbursementApprovalMa;
        private Integer reimbursementApprovalFi;
        private String travelRejection;
        private String advanceRejection;
        private String reimbursementRejectionMa;
        private String reimbursementRejectionFi;
        private Integer travelId;
        private String userId;

        ApprovalBuilder() {
        }

        public ApprovalBuilder approvalId(Integer approvalId) {
            this.approvalId = approvalId;
            return this;
        }

        public ApprovalBuilder travelApproval(Integer travelApproval) {
            this.travelApproval = travelApproval;
            return this;
        }

        public ApprovalBuilder advanceApproval(Integer advanceApproval) {
            this.advanceApproval = advanceApproval;
            return this;
        }

        public ApprovalBuilder reimbursementApprovalMa(Integer reimbursementApprovalMa) {
            this.reimbursementApprovalMa = reimbursementApprovalMa;
            return this;
        }

        public ApprovalBuilder reimbursementApprovalFi(Integer reimbursementApprovalFi) {
            this.reimbursementApprovalFi = reimbursementApprovalFi;
            return this;
        }

        public ApprovalBuilder travelRejection(String travelRejection) {
            this.travelRejection = travelRejection;
            return this;
        }

        public ApprovalBuilder advanceRejection(String advanceRejection) {
            this.advanceRejection = advanceRejection;
            return this;
        }

        public ApprovalBuilder reimbursementRejectionMa(String reimbursementRejectionMa) {
            this.reimbursementRejectionMa = reimbursementRejectionMa;
            return this;
        }

        public ApprovalBuilder reimbursementRejectionFi(String reimbursementRejectionFi) {
            this.reimbursementRejectionFi = reimbursementRejectionFi;
            return this;
        }

        public ApprovalBuilder travelId(Integer travelId) {
            this.travelId = travelId;
            return this;
        }

        public ApprovalBuilder userId(String userId) {
            this.userId = userId;
            return this;
        }

        public Approval build() {
            return new Approval(this.approvalId, this.travelApproval, this.advanceApproval,
                    this.reimbursementApprovalMa, this.reimbursementApprovalFi, this.travelRejection,
                    this.advanceRejection, this.reimbursementRejectionMa, this.reimbursementRejectionFi, this.travelId,
                    this.userId);
        }

        public String toString() {
            return "Approval.ApprovalBuilder(approvalId=" + this.approvalId + ", travelApproval=" + this.travelApproval
                    + ", advanceApproval=" + this.advanceApproval + ", reimbursementApprovalMa="
                    + this.reimbursementApprovalMa + ", reimbursementApprovalFi=" + this.reimbursementApprovalFi
                    + ", travelRejection=" + this.travelRejection + ", advanceRejection=" + this.advanceRejection
                    + ", reimbursementRejectionMa=" + this.reimbursementRejectionMa + ", reimbursementRejectionFi="
                    + this.reimbursementRejectionFi + ", travelId=" + this.travelId + ", userId=" + this.userId + ")";
        }
    }
}
